package com.flashshe.ds.list
{
	import com.flashshe.error.MethodNotImplementError;
	import com.flashshe.ds.AbstractStructure;
	
	

	public class AbstractList extends AbstractStructure implements IList
	{
		public function AbstractList()
		{
			super();
		}
		
		public function add(v:Object):void
		{
			throw new MethodNotImplementError("add()");
		}			
				
		public function addAt(index:uint, v:Object):void
		{
			throw new MethodNotImplementError("addAt()");
		}
		
		public function getLast():Object
		{
			throw new MethodNotImplementError("getLast()");
		}
		
		public function getValueAt(index:uint):Object
		{
			throw new MethodNotImplementError("getValueAt()");
		}
		
		public function setValueAt(index:uint, v:Object):Object
		{
			throw new MethodNotImplementError("setValueAt()");
		}	
		
		public function remove():Object
		{
			throw new MethodNotImplementError("remove()");
		}	
		
		public function removeAt(index:uint):Object
		{
			throw new MethodNotImplementError("removeAt()");
		}						
		
		public override function contains(v:Object):Boolean
		{
			return -1 != indexOf(v);
		}
		
		public function indexOf(v:Object, startIndex:uint=0):int
		{
			throw new MethodNotImplementError("indexOf()");
		}				
	}
}